<?php
/**
 * UserIdentity represents the data needed to identity a user.
 * It contains the authentication method that checks if the provided
 * data can identity the user.
 */
class UserIdentity extends CUserIdentity
{  
	private $_id;
	private $_rolle;
	public function authenticate()
	{
		$user=Users::model()->find('LOWER(username)=?',array(strtolower($this->username)));
		if($user===null)
		  $this->errorCode=self::ERROR_USERNAME_INVALID;
		else if(!$user->validatePassword($this->password))
		  $this->errorCode=self::ERROR_PASSWORD_INVALID;
		else
		{
			$this->_id=$user->id;
			$this->_rolle=$user->rolle;
			$this->username=$user->username;
			$auth=Yii::app()->authManager;
			if(!$auth->isAssigned($user->role,$this->_id))
			{
				if($auth->assign($user->role,$this->_id))
				{
					Yii::app()->authManager->save();
				}
			}
			$this->errorCode=self::ERROR_NONE;
		}
		return $this->errorCode==self::ERROR_NONE;
	}
  
	public function getId()
	{
		return $this->_id;
	}
}